﻿
/*
 *  author: able
 *  @2012/2/20 17:50:45
 * 
 */
namespace __ts.Core.Api
{
    /// <summary>
    /// 
    /// </summary>
    public interface IoServiceListener
    {
        /**
         * Invoked when a new service is activated by an {@link IoService}.
         *
         * @param service the {@link IoService}
         */
        void serviceActivated(IoService service);

        /**
         * Invoked when a service is inactivated by an {@link IoService}.
         *
         * @param service the {@link IoService}
         */
        void serviceInactivated(IoService service);

        /**
         * Invoked when a new session is created by an {@link IoService}.
         *
         * @param session the new session
         */
        void sessionCreated(IoSession session);

        /**
         * Invoked when a session is being destroyed by an {@link IoService}.
         *
         * @param session the session to be destroyed
         */
        void sessionDestroyed(IoSession session);
    }
}